<?php

class phpArray
{
    /**
     * 查找数组是否有连续出现的数字
     * @param array $arr 数组
     * @param integer $n 连续位数
     * @return bool
     */
    public function getConsecutive($arr, $n)
    {
        sort($arr);
        $m = 1;
        for ($i = 0, $t = count($arr) - 1; $i < $t; $i++) {
            $m = $arr[$i] + 1 == $arr[$i + 1] ? $m + 1 : 1;
            if ($m >= $n) return true;
        }
        return false;
    }

    /**
     * 查找数组中最长的连续的数字
     * @param array $arr 一维数组
     * @return array
     */
    public function getLongest($data = [])
    {
        $i = 0;
        $j = 0;
        $result = array();
        $length = count($data) - 1;
        foreach ($data as $key => $value) {
            if ($key < $length) {
                if (($data[$i] + 1) == $data[$i + 1]) {
                    $result[$j][] = $data[$i];
                } else {
                    $result[$j][] = $data[$i];
                    $j++;
                }
                $i++;
            } else {
                if (($data[$i] - 1) == $data[$i - 1]) {
                    $result[$j][] = $data[$i];
                } else {
                    $result[$j + 1][] = $data[$i];
                }
            }
        }
        $length1 = [];
        foreach ($result as $key1 => $value1) {
            $length1[] = count($value1);
        }
        return max($length1);
    }

}

